package com.chase.framerwork.convertor;

import java.util.List;

import com.chase.framerwork.bean.Pager;

/**
 * Entity转换器
 * 
 * @Author Chase
 * @Date 2013-10-13
 * @param <E> Entity
 * @param <V> Vo
 */
public interface Convertible<E, V>
{
	
	/**
	 * vo转entity
	 * @param vo
	 * @return
	 */
	public E vo2Entity(V vo);
	
	/**
	 * entity转Vo
	 * @param entity
	 * @return
	 */
	public V entity2Vo(E entity);
	
	/**
	 * voList转entityList
	 * @param voList
	 * @return
	 */
	public List<E> vo2Entity(List<V> voList);
	
	/**
	 * entityList转voList
	 * @param entityList
	 * @return
	 */
	public List<V> entity2Vo(List<E> entityList);
	
	/**
	 * vo数组转entity数组
	 * @param vo
	 * @return
	 */
	public E[] Vo2Entity(V[] vo);

	/**
	 * entity数组转vo数组
	 * @param entity
	 * @return
	 */
	public V[] entity2Vo(E[] entity);
	
	/**
	 * 转换分页对象里面的entity成vo
	 * @param pager
	 * @return
	 */
	public Pager convertorPager(Pager pager);

}
